// 
// File:   figuras.h
// Author: danielm
//
// Created on 11 de Maio de 2008, 16:29

#include <string>

#ifndef _FIGURAS_H
#define	_FIGURAS_H

#define PI 3.1415

/********************************************************/
/********************************************************/
/*                       FIGURAS                        */
/*                                                      */

// CLASSE FIGURA
class fig{
protected:
    std::string name;
    float volume;
public:
    fig();
    fig(std::string name);
    std::string myName(); // Retorna o nome da figura
    virtual void showMe();
    virtual float calculaVolume();
};

// CLASSE ESFERA
class esfera:public fig{
    float raio;
public:
    esfera(std::string name, float raio);
    void showMe();
    float calculaVolume();
};

// CLASSE CUBO
class cubo:public fig{
    float aresta;
public:
    cubo(std::string name, float aresta);
    void showMe();
    float calculaVolume();
};

// CLASSE CILINDRO
class cilindro:public fig{
    float raio_base;
    float altura;
public:
    cilindro(std::string name, float raio_base, float altura);
    void showMe();
    float calculaVolume();
};

// CLASSE TETRAEDRO
class tetraedro:public fig{
    float l1,l2,l3; // lados do triangulo da base
    float altura;   // altura do tetraedro
public:
    tetraedro(std::string name, float lado1, float lado2, float lado3, float altura);
    void showMe();
    float calculaVolume();
};

/*                     FIM FIGURAS                      */
/*                                                      */
/********************************************************/
/********************************************************/

#endif	/* _FIGURAS_H */

